const express = require('express')
const jwt = require('jsonwebtoken')
//导入User模型对象, 用来处理用户的登陆
const userModel = require('../models/userModel')

// 创建路由对象
const router = express.Router()

//api接口,处理注册用户的请求
router.post('/register', (req, res) => {
  //req 请求对象
  console.log('req.body', req.body)
  var { username, password } = req.body
  //查询用户是否存在
  userModel.find({ username }, (err, data) => {
    if (data.length != 0) {
      //用户存在
      res.send({ code: 400, msg: '用户已存在,注册失败!' })
    } else {
      //用户不存在, 插入新用户到数据表中
      userModel.insertMany({ username, password }, (err) => {
        if (!err) {
          //如果没有出错
          res.send({ code: 200, msg: '注册成功!' })
        }
      })
    }
  })
})

// 登录接口
router.post('/login', async (req, res) => {
  var { username, password } = req.body
  if (!username) {
    res.json({ code: 500, message: '用户名不能为空' })
    return
  } else if (!password) {
    res.json({ code: 500, message: '密码不能为空' })
    return
  }
  userModel.find({ username, password }).then((resp) => {
    if (!resp.length) {
      res.send({ code: 500, message: '登录失败!' })
      return
    }

    const token = jwt.sign({ username }, 'nodejs', {
      algorithm: 'HS256',
      // expiresIn: 60*60*24,
    })
    res.send({
      code: 200,
      message: '登陆成功!',
      token,
      userInfo: { username, loginTenantId: 1 },
    })
  })
})

module.exports = router
